#写一个三乐购物系统，功能使用函数封装
#1、欢迎界面
#   1、登录
#       输入用户名和密码
#       和系统里保存的用户信息比较，判断用户名和密码是否合法
#       登录失败，返回上一级
#       登录成功：
#       1、查看商品
#       2、加入购物车
# #     3、结算购物车
# #     4、返回上一级
# #  2、注册
# #      用户名、用户密码、用户存入金额
# #      用户信息固化（下一次登录能继续使用，用json)
# #  3、退出
import json
import os
user_info={'root':'123456','admin':'654321'}#用户信息字典，存放用户名和密码
good_info={'chip':4,'milk':6,'bread':5}#商品信息字典，存放商品名称和价格
file_path="user.txt"
if os.path.exists(file_path):
     fp=open(file_path)
     name_str=fp.read()
     user_info=json.loads(name_str)
#实现查看商品功能的函数
def good_view():
    for k,v in good_info.items():
        print(f"{k}:{v}")

#实现加入购物车功能的函数
shopcart={}#购物车初始为空
def add_shopcart(a):
    if a in good_info:
        shopcart[a]=good_info.get(a)
        print("购物车里面有：")
        for m,n in shopcart.items():
            print(f"{m}:{n}")

    else:
        if a=="q":
           print("退出选购")
        else:
            print("该商品不存在")

#结算购物车
def shopcart_sum():
    sum=0
    for x in shopcart:
        sum+=int(shopcart.get(x))
    print(f"购物车价格总和为：{sum}")
while True:
    user_input1=input("请选择：\n1、登录\n2、注册\n3、退出\n ")
    if user_input1=="1":
        user_name1=input('请输入用户名：')
        user_paswd1=input('请输入密码：')
        if user_name1 in user_info and user_paswd1==user_info.get(user_name1):
            print("登录成功")
            while True:
                user_input2=input("请选择：\n1、查看商品\n2、加入购物车\n3、结算\n")
                if user_input2=="1":
                    good_view()
                    break
                elif user_input2=="2":
                    while True:
                        user_input3 = input("请输入想要加入购物车的商品名称(按q退出选购):\n")
                        add_shopcart(user_input3)
                        if user_input3=="q":
                            break
                elif user_input2=="3":
                    shopcart_sum()
                    break
                else:
                    print("输入有误")
                    break

        else:
            print("登录失败")
            break
    elif user_input1=="2":
        user_name2=input("请输入要注册的用户名：")
        user_paswd2=input("请设置密码：")
        user_info[user_name2]=user_paswd2
        fp = open("user.txt", "w")
        result_str=json.dumps(user_info)
        fp.write(result_str)
        fp.flush()
    elif user_input1=="3":
        print("退出程序")
        break
    else:
        print("输入有误，请重新输入")







